It is commonplace for processor-based consumer electronic devices to be equipped with embedded software for firmware which can receive an update image and install that update image into itself. Such consumer electronic devices include, but are not limited to, personal computers, tablet computers, “smart phones”, cellular telephones, cable television decoder boxes, alarm control panels, scientific calculators, graphing calculators, global positioning navigation systems, digital music players, game consoles, handheld or portable game devices, “smart board” educational and presentation displays, and so forth.
Many of these systems are “open” in that their manufacturers publish interfaces to the software so that third-party companies may provide additional features and software modules for those systems. However, this can lead to quality, dependability, and supportability issues as the system configurations can become unstable and no one vendor can provide full support for all installed options and modules.
Another approach is for the manufacturers of these types of systems to provide them in a “closed” architecture, which means they do not generally publish the software interfaces and mechanisms to install software options and modules. Instead, they control the sources and modules to only include those which come from the manufacturer themselves, or third-party modules which have been fully verified for performance, supportability and suitability by the manufacturer.
There are many challenges to keeping systems “closed”, while there are many “hackers” who wish to thwart the mechanisms in the closed systems which prevent their being open systems.